package org.dxy.domain.event.route;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 工艺路线事件类型枚举
 * @author dxy
 * @createTime 2025/8/2
 */
@Getter
@AllArgsConstructor
public enum RouteEventTypeEnum {
    /** 工艺路线创建 */
    CREATED("created", "工艺路线创建"),
    
    /** 工艺路线更新 */
    UPDATED("updated", "工艺路线更新"),
    
    /** 工艺路线启用 */
    ENABLED("enabled", "工艺路线启用"),
    
    /** 工艺路线禁用 */
    DISABLED("disabled", "工艺路线禁用"),
    
    /** 工艺路线发布 */
    PUBLISHED("published", "工艺路线发布"),
    
    /** 工艺路线归档 */
    ARCHIVED("archived", "工艺路线归档"),
    
    /** 工艺路线删除 */
    DELETED("deleted", "工艺路线删除"),
    
    /** 工艺路线步骤添加 */
    STEP_ADDED("stepAdded", "工艺路线步骤添加"),
    
    /** 工艺路线步骤移除 */
    STEP_REMOVED("stepRemoved", "工艺路线步骤移除"),
    
    /** 工艺路线步骤更新 */
    STEP_UPDATED("stepUpdated", "工艺路线步骤更新"),
    
    /** 工艺路线步骤重新排序 */
    STEP_REORDERED("stepReordered", "工艺路线步骤重新排序"),
    
    /** 工艺路线工序分配 */
    PROCESSES_ASSIGNED("processesAssigned", "工艺路线工序分配");

    private final String key;         // 用于标识事件类型的代码（小写）
    private final String description; // 事件类型的描述
}